國外各大數據網站都有推出各自的數據指標,FanGraphs 當然也是不例外。這篇文章會介紹一些可以使用之前所介紹過的方法來取得,並且是我個人認為在 FanGraphs 上很特別或獨有的資料。
第一個想介紹的,也是 FanGraphs 用來排序他們的排行榜所使用的數據指標,WAR。他的全名是 Wins Above Replacement,直接翻譯就是替換後的勝場差距,顧名思義就是假設這名球員受傷,必須要把他替換成小聯盟球員,那球隊會少多少場勝場。如果是反而讓球隊多了勝場,那該名球員的 WAR 就會是負的。
其實除了 FanGraphs,其他數據網站像是 Baseball Reference 也有推出自己的 WAR。不過他們的評分標準不盡相同,會有他們自己的特色。大家在使用的時候會加前綴來辨識不同的 WAR,像是 FanGraphs 的 WAR 會叫 fWAR,Baseball Reference 的會叫做 bWAR。因為今天是介紹 FanGraphs 的篇章,等之後輪到介紹 Baseball Reference 的時候再跟大家說明他們的標準。
根據不同類型的選手,在計算上面也會有不同的標準,像是野手跟投手就會有差別。FanGraphs 會根據野手跟投手產生不同的 WAR 計算方式。
計算野手的 WAR 公式為:
WAR = (Batting Runs + Base Running Runs +Fielding Runs + Positional Adjustment + League Adjustment +Replacement Runs) / (Runs Per Win)
可以看到除了打擊成績,跑壘跟守備也會影響最後的結果。另外也會考量守位的差別,還有球員所在的聯盟影響以及球員在大聯盟的出賽頻率而有所補正。
這些指標底下也有再更詳細的計算,如果想知道更多詳情可以參考 FanGraphs 的介紹文章:
https://library.fangraphs.com/war/war-position-players/
計算投手的 WAR 公式為:
WAR = [[([(League “FIP” – “FIP”) / Pitcher Specific Runs Per Win] + Replacement Level) * (IP/9)] * Leverage Multiplier for Relievers] + League Correction
主要是運用數據指標 FIP (Fielding Independent Pitching) 來計算,FIP 又稱獨立防禦率,是一個希望撇除守備影響的投球指標,所以只會用三振、保送、全壘打等來計算。不過在計算 WAR 的時候,FanGraphs 會多算內野高飛球。
再更詳細的計算資料也可以參考 FanGraphs 的介紹文章:
https://library.fangraphs.com/war/calculating-war-pitchers/
FanGraphs 有提供各類球員的 WAR 分佈,可以在分析一位球員的時候參考看看:
介紹完比較通用的 WAR,接下來想介紹一些在 pybaseball 的方法裡可以獲得的其他重要進階數據,他們大多也是計算 WAR 時會參考進去的指標。
原本打算更深入介紹 FIP,但我發現 pybaseball 也可以抓今年新出的概念 Stuff+, Location+, and Pitching+ Primer | Sabermetrics Library (fangraphs.com) 所以就想在這邊介紹一下。
pitching_stats
方法來獲得,可以去檢查看看各種投手的數據呈現。今天介紹了一些 FanGraphs 上可以使用 pybaseball 來獲得的進階數據,不過大多都只是比較初步的介紹。主要原因是主題還是會以 pybaseball 為主,要是每個數據都詳細介紹可能會需要很大的篇幅,所以打算用初步的概念讓大家知道這個東西,想要更深入可以透過連結得到更多資訊,還請大家見諒。
其實運動視界也有很多關於棒球進階數據的文章,大家有興趣可以去探索。最後再附上一個 FanGraphs 連結:Getting Started | Sabermetrics Library (fangraphs.com),剛剛我說的東西都可以在這個連結裡面獲得更加詳細的說明,很推薦大家在裡面取寶。
今天先到這裡,一樣很感謝大家耐心地看完,有任何問題歡迎留言,或是有任何我解釋錯誤的地方也歡迎在留言提醒。明天會來帶大家看 pybaseball 在 FanGraphs 這邊的原始碼,讓大家知道他們是怎麼取得 FanGraphs 上的資料,希望大家會喜歡。